package com.zch.application; //必须在第一行

import java.io.IOException;

/*
Java常用的转义字符
    \t
    \n
    \\:一个\
    \":一个"
    \':一个'
    \r:一个回车,将前面的字符全干掉，光标到最前
    \t+\n:等同于\n
*/

/**
 * @author zch
 * @version 1.0
 */  //文档注释，广泛应用于实际开发中，用于类和方法的注释中

public class Hello {

    static final double PRICE = 2000;

    //static是和类一起加载的，其他的是对象实例后才会加载
    public static void print2Arrays(int[][] x) {
        for (int i = 0; i < x.length; i++) {
            for (int j = 0; j < x[i].length; j++) {
                System.out.print(x[i][j] + "\t");
            }
            System.out.println();
        }
    }

    /*
        1.可变参数的实参可以为0个或任意多个
        2.可变参数的实参可以为数组
        3.可变参数的本质就是数组
        4.可变参数可以和普通类型的参数一起放在形参列表，但必须保证可变参数在最后
        5.一个形参列表中只能出现一个可变参数
     */
    public void printMax(int... numbers) {  //int... 表示可以传入多个参数
        if(numbers.length == 0) {
            System.out.println("No argument");
            return;
        }

        int result = numbers[0];

        for (int i = 1; i < numbers.length; i++) {
            if (numbers[i] > result) {
                result = numbers[i];
            }
        }

        /*
            循环条件必须为返回一个布尔值的表达式
            for中的初始化和变量迭代可以写到其他地方，但两边的分号不能省略
            for中的初始化语句可以有多条，但要求类型一致，中间用逗号隔开，变量迭代语句也一样
        */

        System.out.println("The max value is " + result);
    }

    public static void printMultiplication() {
        for (int j = 1; j <= 9; j++) {
            for (int i = 1; i <= j; i++) {
                System.out.print(j + "*" + i + "=" + (j * i) + "\t");
            }
            System.out.println();
        }
    }

    public void readFile(String file) throws IOException{
        //抛出异常
    }
}


